Application servers may provide a service to clients. For example, an application server may provide web-based email to clients. As a number of clients grow, the computing requirements also grow. Instead of a more powerful computer, groups of application servers may be used to service larger groups of clients. However, as the groups become larger, loads among servers may be unequal and secure communications may also be necessary. The complexity of the application servers may also increase with the increased number of application server interactions. This complexity may increase the vulnerability of application servers that are directly reachable on the Internet.
Load balancers may distribute load and reduce load on application servers while reducing exposure of the application servers. For example, a load balancer may distribute work evenly among multiple application servers and terminate secure communication protocols on behalf of application servers. In some data centers, load balancers may be impleted by virtual computing systems hosted by a computing resource provider. One side effect of this load balancing is that the load balancer relays information between the client and the application server, such that the application server and client may not directly communicate.